package site.jlopen.kuscia.rpc;

import org.secretflow.v1alpha1.kusciaapi.Domaindata.BatchQueryDomainDataRequest;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.BatchQueryDomainDataResponse;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.CreateDomainDataRequest;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.CreateDomainDataResponse;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.DeleteDomainDataRequest;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.DeleteDomainDataResponse;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.ListDomainDataRequest;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.ListDomainDataResponse;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.QueryDomainDataRequest;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.QueryDomainDataResponse;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.UpdateDomainDataRequest;
import org.secretflow.v1alpha1.kusciaapi.Domaindata.UpdateDomainDataResponse;

/**
* @ClassName: KusciaDomainDataRpc
* @Description: <p>
* DomainData 表示被 Kuscia 管理的数据,</br>
* Data Mesh API 提供了从 Domain 侧的管理 DomainData 的能力</p>
* @author ChenJiaLu
* @date 2024年7月13日 下午2:36:15
 */
public interface KusciaDomainDataRpc extends KusciaRpc {

	/**
	* <strong>创建数据对象</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午2:37:03
	 */
	public CreateDomainDataResponse createDomainData(CreateDomainDataRequest request);

	/**
	* <strong>更新数据对象</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午2:37:03
	 */
	public UpdateDomainDataResponse updateDomainData(UpdateDomainDataRequest request);

	/**
	* <strong>删除数据对象</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午2:37:03
	 */
	public DeleteDomainDataResponse deleteDomainData(DeleteDomainDataRequest request);

	/**
	* <strong>查询数据对象</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午2:37:03
	 */
	public QueryDomainDataResponse queryDomainData(QueryDomainDataRequest request);

	/**
	* <strong>批量查询数据对象</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午2:37:03
	 */
	public BatchQueryDomainDataResponse batchQueryDomainData(BatchQueryDomainDataRequest request);

	/**
	* <strong>列出数据对象</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午2:37:03
	 */
	public ListDomainDataResponse listDomainData(ListDomainDataRequest request);
}
